A signal processing circuit such as a central processing unit (CPU) has a variety of configurations depending on its application but it is generally provided with some kinds of memory circuits such as a register and a cache memory in addition to a main memory for storing data or a program.
In a memory circuit such as a register or a cache memory, reading and writing of data needs to be performed at higher speed than in a main memory. Thus, in general, a flip-flop or the like is used as a register, and a static random access memory (SRAM) or the like is used as a cache memory. That is, for the register, cache memory, and the like, volatile memory circuits in which data is lost when supply of a power supply voltage is stopped are used.
In order to reduce consumed power, a method for temporarily stopping the supply of a power supply voltage to a signal processing circuit in a period during which data is not input and output has been suggested. In the method, a nonvolatile memory circuit is located in the periphery of a volatile memory circuit such as a register or a cache memory, so that the data is temporarily stored in the nonvolatile memory circuit. Thus, the register, the cache memory, or the like holds data even while the supply of power supply voltage is stopped in the signal processing circuit (e.g., see Patent Document 1).
In addition, in the case where the supply of the power supply voltage is stopped for a long time in a signal processing circuit, data in a volatile memory circuit is transferred to an external memory device such as a hard disk or a flash memory before the supply of the power supply voltage is stopped, so that the data can be prevented from being erased.